The present invention relates to image compression systems, and, more particularly, to methods and systems for determining a quantization matrices for image compression operations.
The field of data compression seeks to develop improved compression methods. One of the dilemmas of the art of data compression is selecting appropriate compression techniques. In general, a compressor, or encoder, compresses raw data to an output stream. A decompressor, or decoder, converts in the opposite direction to restore the image. Certain known compression methods are lossy. These methods, used for image compression, achieve better compression by losing some information from the input stream. When the compressed stream is decompressed, the result is not identical to the original image. If the loss of data is small, the perceptual difference in the decompressed image is not recognizable.
Images are important in many computer, internet and communication applications. The image data size, however, tends to be large. The image exists for human perception. Thus, when the image is compressed, it is not uncommon to lose image features for which the human eye is not sensitive without noticeable image degradation.
Human visual perception is sensitive to some frequencies but not to others. Thus, known image compression methods seek to remove those frequencies that are less sensitive to human visual perception. The discrete cosine transform (xe2x80x9cDCTxe2x80x9d) is a widely used transform in image compression to identify frequencies. DCT is the preferred transform technique for lossy image compression. For example, a 2-dimensional DCT maybe applied to an 8xc3x978 block of pixels in an image. Coefficients produced by the DCT are quantized to provide the actual compression coefficients. Most DCT coefficients are small and become zero after quantization.
Human visual perception is less sensitive to the high frequency components of an image represented by the higher DCT coefficients. After each 8xc3x978 block of DCT coefficients is calculated, it is quantized. This is the step wherein information loss occurs. Each number in the DCT coefficients"" matrix is divided by the corresponding number from a particular quantization matrix. The results are rounded to the nearest integer. A large quantization factor usually is applied to higher frequency components within the DCT coefficients"" matrix. Thus, a quantization matrix has higher quantization factors for higher frequency DCT coefficients.
A trade-off exists between image quality and the degree of quantization. A large quantization step size may produce unacceptably large image distortion. Finer quantization, however, leads to reduced compression ratios. Thus, known image compression methods seek to quantize DCT coefficients in an efficient manner to provide a compressed image with little image distortion perceptive to the human eye. Because of the human eyesight""s natural high frequency roll-off, high frequencies play a less important role in known image compression methods than low frequencies.
A quantization matrix is an 8xc3x978 matrix of step sizes, sometimes called quantums. The quantization matrix has one element for each DCT coefficient. A quantization matrix usually is symmetric. Step sizes may be small in the upper left corner of the matrix and correlate to low frequencies. Step sizes may be large in the upper right corner of the matrix and represent high frequencies. A step size of 1 is the most precise. A quantizer divides the DCT coefficient by its corresponding quantum, then rounds to the nearest integer. Large quantums drive small coefficients down to zero. Thus, many high frequency coefficients become zero and, therefore, an image is easier to encode. The low frequency coefficients undergo only minor adjustments. Zeros among the high frequency coefficients result in an efficient compression. Thus, known image compression methods use a higher quantum for the high frequency coefficients with little noticeable image deterioration.
Quantization matrices, or tables, may be generated by default or computed. Further, it may be desirable to quantize the DCT coefficients by some metric that optimizes image compression by losing coefficients not sensitive to the human visual system. Known methods compare previous image coefficients with an instant image coefficient to locate similar blocks and to find a best match. Differences between the previous image and the instant image are determined.
Human visual systems, however, are not sensitive always to particular frequencies or spatial differences within an image. In other words, a human visual system may be less sensitive to a particular DCT coefficient in one instance and more sensitive in another context. Thus, different quantization matrices may be desired to compress a plurality of images. Known methods may search a group of stored quantization matrices to locate a matrix for optimal compression. These methods of image compression are time-consuming and inefficient for determining and optimizing quantization matrices.
From the foregoing, it may be appreciated that a need had arisen for an image compression system having optimized vision encoding. In accordance with an embodiment of the present invention, an image compression system and method are provided that substantially eliminates and reduces the disadvantages and problems associated with conventional image compression systems.
In accordance with one embodiment of the present invention, a method for selecting a quantization matrix to quantize a transform array is provided. The method includes the step of locating a frequency coefficient within the transform array. The method also includes determining an orientation content for the frequency coefficient. The method also includes the step of selecting a quantization matrix correlating to the frequency content and the orientation content. The method also includes partitioning the quantization coefficient matrix with the model matrix to generate a quantization matrix.
In accordance with another embodiment of the present invention, a method for quantizing a transform array of an image is provided. The method includes the step of locating a frequency coefficient within the transform array. The method also includes the step of determining a frequency content for the frequency coefficient. The method also includes the step of determining an orientation content for the frequency coefficient. The method also includes the step of selecting a quantization matrix correlating to the frequency content and the orientation content and the step of quantizing the transform array with the quantization matrix.
In accordance with another embodiment of the present invention, an image compression is provided. The system includes an image having a transform array. The system also includes a frequency coefficient within the transform array. The frequency coefficient has a frequency content and an orientation content. The system also includes a quantization matrix correlating to the frequency content and the orientation content. The system also includes a quantizer that quantizes the transform array with the quantization matrix to generate a quantized array.
Thus, the present invention obtains phased-reliable discrete cosign transformed-basis functions and uses them to partition a quantization matrix using channel image distortion matrix. The co-efficient in the quantization co-efficient matrix correlate to frequency bands in orientations in the channel image distortion matrix. The partition is then used for vision optimized encoding.
The channel image distortion model matrix produces image distortion matrix values for vertical and horizontal orientations. For each orientation, image distortion matrix values are generated for three frequency bands: low, mid, and high frequency bands.
A technical advantage of the present invention is that the function of transforming an image for encoding is treated as a continuous function. Another technical advantage of the present invention is that the quantization matrices may be classified to reduce search time. Another technical advantage of the present invention is that a plurality of quantization matrices may be stored and updated in a memory.